{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.preprocessing import StandardScaler\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 248,
   "metadata": {},
   "outputs": [],
   "source": [
    "iris_df = pd.read_csv('iris.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 249,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>SepalLengthCm</th>\n",
       "      <th>SepalWidthCm</th>\n",
       "      <th>PetalLengthCm</th>\n",
       "      <th>PetalWidthCm</th>\n",
       "      <th>Species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>Iris-setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>Iris-setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>Iris-setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>Iris-setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>Iris-setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Id  SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm      Species\n",
       "0   1            5.1           3.5            1.4           0.2  Iris-setosa\n",
       "1   2            4.9           3.0            1.4           0.2  Iris-setosa\n",
       "2   3            4.7           3.2            1.3           0.2  Iris-setosa\n",
       "3   4            4.6           3.1            1.5           0.2  Iris-setosa\n",
       "4   5            5.0           3.6            1.4           0.2  Iris-setosa"
      ]
     },
     "execution_count": 249,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 250,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Id</th>\n",
       "      <th>SepalLengthCm</th>\n",
       "      <th>SepalWidthCm</th>\n",
       "      <th>PetalLengthCm</th>\n",
       "      <th>PetalWidthCm</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>count</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>150.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>mean</td>\n",
       "      <td>75.500000</td>\n",
       "      <td>5.843333</td>\n",
       "      <td>3.054000</td>\n",
       "      <td>3.758667</td>\n",
       "      <td>1.198667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>std</td>\n",
       "      <td>43.445368</td>\n",
       "      <td>0.828066</td>\n",
       "      <td>0.433594</td>\n",
       "      <td>1.764420</td>\n",
       "      <td>0.763161</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>min</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>4.300000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>25%</td>\n",
       "      <td>38.250000</td>\n",
       "      <td>5.100000</td>\n",
       "      <td>2.800000</td>\n",
       "      <td>1.600000</td>\n",
       "      <td>0.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50%</td>\n",
       "      <td>75.500000</td>\n",
       "      <td>5.800000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>4.350000</td>\n",
       "      <td>1.300000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>75%</td>\n",
       "      <td>112.750000</td>\n",
       "      <td>6.400000</td>\n",
       "      <td>3.300000</td>\n",
       "      <td>5.100000</td>\n",
       "      <td>1.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>max</td>\n",
       "      <td>150.000000</td>\n",
       "      <td>7.900000</td>\n",
       "      <td>4.400000</td>\n",
       "      <td>6.900000</td>\n",
       "      <td>2.500000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               Id  SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm\n",
       "count  150.000000     150.000000    150.000000     150.000000    150.000000\n",
       "mean    75.500000       5.843333      3.054000       3.758667      1.198667\n",
       "std     43.445368       0.828066      0.433594       1.764420      0.763161\n",
       "min      1.000000       4.300000      2.000000       1.000000      0.100000\n",
       "25%     38.250000       5.100000      2.800000       1.600000      0.300000\n",
       "50%     75.500000       5.800000      3.000000       4.350000      1.300000\n",
       "75%    112.750000       6.400000      3.300000       5.100000      1.800000\n",
       "max    150.000000       7.900000      4.400000       6.900000      2.500000"
      ]
     },
     "execution_count": 250,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150, 6)"
      ]
     },
     "execution_count": 251,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 252,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SepalLengthCm</th>\n",
       "      <th>SepalWidthCm</th>\n",
       "      <th>PetalLengthCm</th>\n",
       "      <th>PetalWidthCm</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>145</td>\n",
       "      <td>6.7</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.2</td>\n",
       "      <td>2.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>146</td>\n",
       "      <td>6.3</td>\n",
       "      <td>2.5</td>\n",
       "      <td>5.0</td>\n",
       "      <td>1.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>147</td>\n",
       "      <td>6.5</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.2</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>148</td>\n",
       "      <td>6.2</td>\n",
       "      <td>3.4</td>\n",
       "      <td>5.4</td>\n",
       "      <td>2.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>149</td>\n",
       "      <td>5.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>5.1</td>\n",
       "      <td>1.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>150 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     SepalLengthCm  SepalWidthCm  PetalLengthCm  PetalWidthCm\n",
       "0              5.1           3.5            1.4           0.2\n",
       "1              4.9           3.0            1.4           0.2\n",
       "2              4.7           3.2            1.3           0.2\n",
       "3              4.6           3.1            1.5           0.2\n",
       "4              5.0           3.6            1.4           0.2\n",
       "..             ...           ...            ...           ...\n",
       "145            6.7           3.0            5.2           2.3\n",
       "146            6.3           2.5            5.0           1.9\n",
       "147            6.5           3.0            5.2           2.0\n",
       "148            6.2           3.4            5.4           2.3\n",
       "149            5.9           3.0            5.1           1.8\n",
       "\n",
       "[150 rows x 4 columns]"
      ]
     },
     "execution_count": 252,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_variables = iris_df.iloc[:,1:5]\n",
    "X_variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 253,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_variable = iris_df.iloc[:,5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [],
   "source": [
    "#iris_df = iris_df.drop(columns=['Species'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 254,
   "metadata": {},
   "outputs": [],
   "source": [
    "sc = StandardScaler()\n",
    "transformed_df = sc.fit_transform(X_variables)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 255,
   "metadata": {},
   "outputs": [],
   "source": [
    "covariance_matrix = np.cov(transformed_df.T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 256,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.00671141, -0.11010327,  0.87760486,  0.82344326],\n",
       "       [-0.11010327,  1.00671141, -0.42333835, -0.358937  ],\n",
       "       [ 0.87760486, -0.42333835,  1.00671141,  0.96921855],\n",
       "       [ 0.82344326, -0.358937  ,  0.96921855,  1.00671141]])"
      ]
     },
     "execution_count": 256,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "covariance_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [],
   "source": [
    "eigen_values, eigen_vectors = np.linalg.eig(covariance_matrix)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Eigenvalues arranged in descending order:\n",
      "2.9303537755893165\n",
      "0.9274036215173417\n",
      "0.1483422264816399\n",
      "0.02074601399559571\n"
     ]
    }
   ],
   "source": [
    "eigen_pairs = [(np.abs(eigen_values[i]), eigen_vectors[:,i]) for i in range(len(eigen_values))]\n",
    "print('Eigenvalues arranged in descending order:')\n",
    "for i in eigen_pairs:\n",
    "    print(i[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = PCA()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 260,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca = pca.fit(transformed_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 261,
   "metadata": {},
   "outputs": [],
   "source": [
    "explained_variance = pca.explained_variance_ratio_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 262,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.72770452, 0.23030523, 0.03683832, 0.00515193])"
      ]
     },
     "execution_count": 262,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "explained_variance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 263,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataframe = pd.DataFrame({'variance':pca.explained_variance_ratio_,\n",
    "             'Principal Component':['PC1','PC2','PC3','PC4']})\n",
    "sns.barplot(x='Principal Component',y=\"variance\", \n",
    "           data=dataframe, color=\"b\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 264,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.cumsum(pca.explained_variance_ratio_))\n",
    "plt.xlabel('Number of principal components')\n",
    "plt.ylabel('Cumulative explained variance')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 269,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca_2 = PCA(n_components =2 )\n",
    "pca_2 = pca_2.fit(transformed_df)\n",
    "pca_2d = pca_2.transform(X_variables)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 281,
   "metadata": {},
   "outputs": [],
   "source": [
    "iris_df['Species'] = iris_df['Species'].replace({'Iris-setosa':0, 'Iris-versicolor':1, 'Iris-virginica':2})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 285,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "\n",
    "plt.scatter(pca_2d[:,0], pca_2d[:,1],c=iris_df['Species'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 286,
   "metadata": {},
   "outputs": [],
   "source": [
    "pca_4 = PCA(n_components =4 )\n",
    "pca_4 = pca_4.fit(transformed_df)\n",
    "pca_4d = pca_4.transform(X_variables)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 288,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8,6))\n",
    "\n",
    "plt.scatter(pca_4d[:,0], pca_4d[:,3],c=iris_df['Species'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Implementation of SVD is done here"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 312,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.preprocessing import LabelEncoder, StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 316,
   "metadata": {},
   "outputs": [],
   "source": [
    "mushrooms_df = pd.read_csv('mushrooms.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 317,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(8124, 23)"
      ]
     },
     "execution_count": 317,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mushrooms_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 318,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>cap-shape</th>\n",
       "      <th>cap-surface</th>\n",
       "      <th>cap-color</th>\n",
       "      <th>bruises</th>\n",
       "      <th>odor</th>\n",
       "      <th>gill-attachment</th>\n",
       "      <th>gill-spacing</th>\n",
       "      <th>gill-size</th>\n",
       "      <th>gill-color</th>\n",
       "      <th>...</th>\n",
       "      <th>stalk-surface-below-ring</th>\n",
       "      <th>stalk-color-above-ring</th>\n",
       "      <th>stalk-color-below-ring</th>\n",
       "      <th>veil-type</th>\n",
       "      <th>veil-color</th>\n",
       "      <th>ring-number</th>\n",
       "      <th>ring-type</th>\n",
       "      <th>spore-print-color</th>\n",
       "      <th>population</th>\n",
       "      <th>habitat</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>p</td>\n",
       "      <td>x</td>\n",
       "      <td>s</td>\n",
       "      <td>n</td>\n",
       "      <td>t</td>\n",
       "      <td>p</td>\n",
       "      <td>f</td>\n",
       "      <td>c</td>\n",
       "      <td>n</td>\n",
       "      <td>k</td>\n",
       "      <td>...</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>w</td>\n",
       "      <td>p</td>\n",
       "      <td>w</td>\n",
       "      <td>o</td>\n",
       "      <td>p</td>\n",
       "      <td>k</td>\n",
       "      <td>s</td>\n",
       "      <td>u</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>e</td>\n",
       "      <td>x</td>\n",
       "      <td>s</td>\n",
       "      <td>y</td>\n",
       "      <td>t</td>\n",
       "      <td>a</td>\n",
       "      <td>f</td>\n",
       "      <td>c</td>\n",
       "      <td>b</td>\n",
       "      <td>k</td>\n",
       "      <td>...</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>w</td>\n",
       "      <td>p</td>\n",
       "      <td>w</td>\n",
       "      <td>o</td>\n",
       "      <td>p</td>\n",
       "      <td>n</td>\n",
       "      <td>n</td>\n",
       "      <td>g</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>e</td>\n",
       "      <td>b</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>t</td>\n",
       "      <td>l</td>\n",
       "      <td>f</td>\n",
       "      <td>c</td>\n",
       "      <td>b</td>\n",
       "      <td>n</td>\n",
       "      <td>...</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>w</td>\n",
       "      <td>p</td>\n",
       "      <td>w</td>\n",
       "      <td>o</td>\n",
       "      <td>p</td>\n",
       "      <td>n</td>\n",
       "      <td>n</td>\n",
       "      <td>m</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>p</td>\n",
       "      <td>x</td>\n",
       "      <td>y</td>\n",
       "      <td>w</td>\n",
       "      <td>t</td>\n",
       "      <td>p</td>\n",
       "      <td>f</td>\n",
       "      <td>c</td>\n",
       "      <td>n</td>\n",
       "      <td>n</td>\n",
       "      <td>...</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>w</td>\n",
       "      <td>p</td>\n",
       "      <td>w</td>\n",
       "      <td>o</td>\n",
       "      <td>p</td>\n",
       "      <td>k</td>\n",
       "      <td>s</td>\n",
       "      <td>u</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>e</td>\n",
       "      <td>x</td>\n",
       "      <td>s</td>\n",
       "      <td>g</td>\n",
       "      <td>f</td>\n",
       "      <td>n</td>\n",
       "      <td>f</td>\n",
       "      <td>w</td>\n",
       "      <td>b</td>\n",
       "      <td>k</td>\n",
       "      <td>...</td>\n",
       "      <td>s</td>\n",
       "      <td>w</td>\n",
       "      <td>w</td>\n",
       "      <td>p</td>\n",
       "      <td>w</td>\n",
       "      <td>o</td>\n",
       "      <td>e</td>\n",
       "      <td>n</td>\n",
       "      <td>a</td>\n",
       "      <td>g</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  class cap-shape cap-surface cap-color bruises odor gill-attachment  \\\n",
       "0     p         x           s         n       t    p               f   \n",
       "1     e         x           s         y       t    a               f   \n",
       "2     e         b           s         w       t    l               f   \n",
       "3     p         x           y         w       t    p               f   \n",
       "4     e         x           s         g       f    n               f   \n",
       "\n",
       "  gill-spacing gill-size gill-color  ... stalk-surface-below-ring  \\\n",
       "0            c         n          k  ...                        s   \n",
       "1            c         b          k  ...                        s   \n",
       "2            c         b          n  ...                        s   \n",
       "3            c         n          n  ...                        s   \n",
       "4            w         b          k  ...                        s   \n",
       "\n",
       "  stalk-color-above-ring stalk-color-below-ring veil-type veil-color  \\\n",
       "0                      w                      w         p          w   \n",
       "1                      w                      w         p          w   \n",
       "2                      w                      w         p          w   \n",
       "3                      w                      w         p          w   \n",
       "4                      w                      w         p          w   \n",
       "\n",
       "  ring-number ring-type spore-print-color population habitat  \n",
       "0           o         p                 k          s       u  \n",
       "1           o         p                 n          n       g  \n",
       "2           o         p                 n          n       m  \n",
       "3           o         p                 k          s       u  \n",
       "4           o         e                 n          a       g  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 318,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mushrooms_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 319,
   "metadata": {},
   "outputs": [],
   "source": [
    "encoder = LabelEncoder()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 320,
   "metadata": {},
   "outputs": [],
   "source": [
    "for col in mushrooms_df.columns:\n",
    "    mushrooms_df[col] = encoder.fit_transform(mushrooms_df[col])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 321,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>cap-shape</th>\n",
       "      <th>cap-surface</th>\n",
       "      <th>cap-color</th>\n",
       "      <th>bruises</th>\n",
       "      <th>odor</th>\n",
       "      <th>gill-attachment</th>\n",
       "      <th>gill-spacing</th>\n",
       "      <th>gill-size</th>\n",
       "      <th>gill-color</th>\n",
       "      <th>...</th>\n",
       "      <th>stalk-surface-below-ring</th>\n",
       "      <th>stalk-color-above-ring</th>\n",
       "      <th>stalk-color-below-ring</th>\n",
       "      <th>veil-type</th>\n",
       "      <th>veil-color</th>\n",
       "      <th>ring-number</th>\n",
       "      <th>ring-type</th>\n",
       "      <th>spore-print-color</th>\n",
       "      <th>population</th>\n",
       "      <th>habitat</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   class  cap-shape  cap-surface  cap-color  bruises  odor  gill-attachment  \\\n",
       "0      1          5            2          4        1     6                1   \n",
       "1      0          5            2          9        1     0                1   \n",
       "2      0          0            2          8        1     3                1   \n",
       "3      1          5            3          8        1     6                1   \n",
       "4      0          5            2          3        0     5                1   \n",
       "\n",
       "   gill-spacing  gill-size  gill-color  ...  stalk-surface-below-ring  \\\n",
       "0             0          1           4  ...                         2   \n",
       "1             0          0           4  ...                         2   \n",
       "2             0          0           5  ...                         2   \n",
       "3             0          1           5  ...                         2   \n",
       "4             1          0           4  ...                         2   \n",
       "\n",
       "   stalk-color-above-ring  stalk-color-below-ring  veil-type  veil-color  \\\n",
       "0                       7                       7          0           2   \n",
       "1                       7                       7          0           2   \n",
       "2                       7                       7          0           2   \n",
       "3                       7                       7          0           2   \n",
       "4                       7                       7          0           2   \n",
       "\n",
       "   ring-number  ring-type  spore-print-color  population  habitat  \n",
       "0            1          4                  2           3        5  \n",
       "1            1          4                  3           2        1  \n",
       "2            1          4                  3           2        3  \n",
       "3            1          4                  2           3        5  \n",
       "4            1          0                  3           0        1  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 321,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mushrooms_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 322,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_variables = mushrooms_df.iloc[:,1:23]\n",
    "y_label = mushrooms_df.iloc[:, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 324,
   "metadata": {},
   "outputs": [],
   "source": [
    "scaler = StandardScaler()\n",
    "X_features = scaler.fit_transform(X_variables)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 325,
   "metadata": {},
   "outputs": [],
   "source": [
    "u, s, v = np.linalg.svd(X_features, full_matrices=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 326,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(8124, 8124)"
      ]
     },
     "execution_count": 326,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 328,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(22,)"
      ]
     },
     "execution_count": 328,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 329,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(22, 22)"
      ]
     },
     "execution_count": 329,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 335,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Percent of the variance explained')"
      ]
     },
     "execution_count": 335,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "variance_explained = np.round(s**2/np.sum(s**2), decimals=3)\n",
    "variance_explained\n",
    " \n",
    "sns.barplot(x=list(range(1,len(variance_explained)+1)),\n",
    "            y=var_explained, color=\"blue\")\n",
    "plt.xlabel('SVs', fontsize=16)\n",
    "plt.ylabel('Percent of the variance explained', fontsize=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 339,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Class</th>\n",
       "      <th>SV1</th>\n",
       "      <th>SV2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.003238</td>\n",
       "      <td>-0.006710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.012864</td>\n",
       "      <td>0.001919</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0.010474</td>\n",
       "      <td>-0.001863</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0.004988</td>\n",
       "      <td>-0.005202</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>-0.003887</td>\n",
       "      <td>0.008522</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Class       SV1       SV2\n",
       "0      1  0.003238 -0.006710\n",
       "1      0  0.012864  0.001919\n",
       "2      0  0.010474 -0.001863\n",
       "3      1  0.004988 -0.005202\n",
       "4      0 -0.003887  0.008522"
      ]
     },
     "execution_count": 339,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "col_labels= ['SV'+str(i) for i in range(1,3)]\n",
    "svd_df = pd.DataFrame(u[:,0:2], index=mushrooms_df[\"class\"].tolist(), columns=col_labels)\n",
    "svd_df=svd_df.reset_index()\n",
    "svd_df.rename(columns={'index':'Class'}, inplace=True)\n",
    "svd_df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 341,
   "metadata": {},
   "outputs": [],
   "source": [
    "svd_df['Class'] = svd_df['Class'].replace({1:'Edible', 0:'Poison'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 345,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'SV 2: 12.4%')"
      ]
     },
     "execution_count": 345,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "color_dict = dict({'Edible':'Black',\n",
    "                   'Poison': 'Red'})\n",
    "# Scatter plot: SV1 and SV2\n",
    "sns.scatterplot(x=\"SV1\", y=\"SV2\", hue=\"Class\", \n",
    "                palette=color_dict, \n",
    "                data=svd_df, s=105,\n",
    "                alpha=0.5)\n",
    "plt.xlabel('SV 1: {0}%'.format(var_explained[0]*100), fontsize=15)\n",
    "plt.ylabel('SV 2: {0}%'.format(var_explained[1]*100), fontsize=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
